package com.tom.architect02.p4.day37.mvp;

import com.tom.architect02.p4.day35.simple2.BaseSubscriber;

/**
 * Added by Tom on 2024/01/26.
 */
public class UserInfoPresenter implements UserInfoContact.UserInfoPresenter {
    //P层 肯定会持有 V 和 Model。 p用来解耦。
    private UserInfoContact.UserInfoView mView;
    private UserInfoContact.UserInfoModel mModel;

    // view传递进来
    public UserInfoPresenter(UserInfoContact.UserInfoView view) {
        this.mView = view;
        this.mModel = new UserInfoModel();
    }


    @Override
    public void getUser(String token) {
        mView.onLoading();

        // 获取数据。
        mModel.getUsers(token).subscribe(new BaseSubscriber<UserInfo>() {
            @Override
            protected void onError(String errorCode, String errorMessage) {
                // 失败。
                mView.onError();
            }

            @Override
            public void onNext(UserInfo userInfo) {
                // 成功
                mView.onSucceed(userInfo);
            }
        });
    }

}
